package net.lanelife.casino.caipiao.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.Table;

import net.lanelife.casino.common.entity.annotation.Checked;
import net.lanelife.casino.common.entity.support.CheckableEntity;

import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

/**
 * @author Lane
 * 银行表
 */
@Entity
@DynamicInsert
@DynamicUpdate
@Table(name = "TB_BANK")
public class Bank extends CheckableEntity<Integer> {

	private static final long serialVersionUID = 4133849097582140477L;
	
	@Checked
	@Column(name = "CODE", length = 10, nullable = false)
	private String code;
	
	@Checked
	@Column(name = "NAME", length = 10, nullable = false)
	private String name;
	
	@Checked
	@Column(name = "URL", length = 200, nullable = false)
	private String url;
	
	@Checked
	@Column(name = "RECHARGE_DEMO_URL", length = 200, nullable = false)
	private String rechargeDemoUrl;
	
	@Checked
	@Enumerated(EnumType.ORDINAL)
	@Column(name = "BANK_TRANSFER_STATUS", nullable = false)
	private BankTransferStatus bankTransferStatus;
	
	@Checked
	@Enumerated(EnumType.ORDINAL)
	@Column(name = "ALLOW_BINDING_STATUS", nullable = false)
	private AllowBindingStatus allowBindingStatus;
	
	public static enum BankTransferStatus {
		OPEN, CLOSE
	}
	
	public static enum AllowBindingStatus {
		OPEN, CLOSE
	}

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public String getRechargeDemoUrl() {
		return rechargeDemoUrl;
	}

	public void setRechargeDemoUrl(String rechargeDemoUrl) {
		this.rechargeDemoUrl = rechargeDemoUrl;
	}

	public BankTransferStatus getBankTransferStatus() {
		return bankTransferStatus;
	}

	public void setBankTransferStatus(BankTransferStatus bankTransferStatus) {
		this.bankTransferStatus = bankTransferStatus;
	}

	public AllowBindingStatus getAllowBindingStatus() {
		return allowBindingStatus;
	}

	public void setAllowBindingStatus(AllowBindingStatus allowBindingStatus) {
		this.allowBindingStatus = allowBindingStatus;
	}

}
